package main

import "fmt"

func SelectSort(arr []int) {
	//1、先完成第一个大值和arr[0]
	//假设arr[0]为最大值
	for j := 0; j < len(arr)-1; j++ {
		max := arr[j]
		maxIndex := j
		//2、遍历后面1--len(arr)-1比较
		for i := j + 1; i < len(arr); i++ {
			if max < arr[i] { //找到真正的最大值
				max = arr[i]
				maxIndex = i
			}
		}
		//3、交换值
		if maxIndex != j {
			arr[j], arr[maxIndex] = arr[maxIndex], arr[j]
		}
		fmt.Printf("第%d次%v\n", j+1, arr)
	}
}

func main() {
	arr := []int{10, 34, 19, 200, 80, 2, 100, 3333}
	SelectSort(arr)
	fmt.Println(arr)
}
